package com.tsy.server.media.service;

import com.dji.sdk.cloudapi.media.MediaUploadCallbackRequest;

import java.util.List;

/**
 * @author sean
 * @version 0.2
 * @date 2021/12/9
 */
public interface IMediaService {

    /**
     * 根据文件指纹检查该文件是否已上传。
     * @param workspaceId 工作空间ID
     * @param fingerprint 文件指纹
     * @return
     */
    Boolean fastUpload(String workspaceId, String fingerprint);

    /**
     * 将文件基础信息保存到数据库。
     * @param workspaceId 工作空间ID
     * @param file 文件回调数据
     * @return
     */
    Integer saveMediaFile(String workspaceId, MediaUploadCallbackRequest file);

    /**
     * 根据工作空间ID查询该空间下所有文件的 tiny 指纹。
     * @param workspaceId 工作空间ID
     * @return
     */
    List<String> getAllTinyFingerprintsByWorkspaceId(String workspaceId);

    /**
     * 根据传入的 tiny 指纹集合查询已存在的指纹。
     * @param workspaceId 工作空间ID
     * @param tinyFingerprints tiny 指纹集合
     * @return
     */
    List<String> getExistTinyFingerprints(String workspaceId, List<String> tinyFingerprints);

}
